home *** CD-ROM | disk | FTP | other *** search
/ Shareworld 8 / Shareworld 8 (Disk 1 of 2).adf / SW8a / C.AngryOfMayfair / C.AngryOfMayfair (.txt)
Magnetic Pages Article  |  1997-05-21  |  47KB  |  168 lines

  1. MPARTICLE
  2. 81D2#
  3. UU=Os
  4. 81D2#
  5. @V(T 
  6. cc>>8
  7. cc>>8
  8. yx|^>
  9. yx|^>
  10. yx|^>
  11. J(%IJP
  12. J0%*JH
  13. J(%*JD
  14. 30s`p
  15. )JJRPB
  16. JA)JA
  17. )JJRPB
  18. JA)JA
  19. )IRRH!
  20. )IRRH!
  21. IRRD 
  22. IRRD 
  23. 08p0|
  24. JA&JAT
  25. LHHLO
  26. JA&JAT
  27. LHHLO
  28. K>                       
  29. [35mGetting True ILBMInfo Results
  30. LWelcome  to another Blitztified, and a rather mixed bag it is this time too.LTo  start  off  with  we've  a function to examine IFF picture files that (ILthink) gives true ILBMViewMode results. Blitz users who have tried to detectLHAM or EHB pictures using Acid's ILBMInfo followed by ILBMViewMode will knowLit  doesn't  work.  (Attempting  to save HAM or EHB pictures with Blitz alsoLdoesn't  work  as  no  "CAMG"  chunk,  which holds the HAM and EHB flags, isLincluded  with the saved picture. Can anyone help with this?) This function,@by examining the start of the picture file, seems to do the job.
  31. 7; This function returns a correct ILBMViewMode. Meaning7; it correctly detects HAM and EHB pictures. It returns1; -1 if it doesn't find the file. Note it doesn't6; check if the file really is an ILBM IFF picture. Use4; another method to check for that. LoadPalette, for9; instance, will generate an error if a file isn't an IFF-; picture so that's one method you could use.%Function.l TrueViewMode{ILBMPicFile$}' fiLen.l=Exists(ILBMPicFile$):mode.l=-1     If fiLen*  ILBMInfo(ILBMPicFile$):mode=ILBMViewMode
  32.   fiCount.l=0
  33.   If ReadFile(0,ILBMPicFile$)
  34.    FileInput 06   While fiCount<fiLen AND b$<>"CAMG" AND fiCount<5000*    a$=Inkey$:b$=Right$(b$+a$,4):fiCount+1
  35.    Wend
  36.    If b$="CAMG"
  37.     c$=Inkey$(8)
  38.    EndIf
  39.   EndIf
  40.   CloseFile 0
  41.   DefaultInput
  42.  EndIf
  43.  If b$="CAMG",  mode=(mode OR (Cvl(Mid$(c$,5)) AND $8da6))
  44.  EndIf
  45.  Function Return mode
  46. End Function)                                   ------
  47. 8                              
  48. [35mMore Polygon Fun
  49. LNow follows a little program that shows you how to use strings for storing aLlist  of  polygons with differing numbers of points. Since the last issue ofLSW  (which  contained a polygon example too) I've sussed out fully how BlitzLuses  polygons,  and  it's all rather simple. All the polygon commands need,Lafter  you  tell  them  the  number  of points they have, is an address thatLpoints  to  a  string  of  bytes  containing the x,y coordinates as two-byteLwords. Thus an array of strings is a simple way to store and access polygonsLwith differing numbers of points, hence this not very exciting demo. (NobodyLhad  anything to say about last issue's Polygon program. I wonder if this'll
  50. prove any different?)
  51. ; PolyDemo 2.00
  52. .; By Carl Read - Public Domain - 6th May 1997.
  53. :; This is just a little BlitzII program to show how to use5; strings to store polygons with different numbers of    ; points.
  54. '; Any comments about this program to...
  55. ; Carl Read
  56. ; CyberCraft
  57. ; PO Box 14032    ; Mayfair
  58. ; Hastings 4201
  59. ; NEW ZEALAND
  60. #pts=800
  61. #wid=640
  62. #ht=400
  63. WBStartup:NoCli'BitMap 0,#wid,#ht,1:BitMap 1,#wid,#ht,1&Screen 0,0,0,#wid,#ht,1,$8004,"",2,1,0
  64. Use BitMap 0:Cls:BitMapOutput 06Dim p$(#pts) ; String array to hold the x,y points in.2Dim p(#pts)  ; Number of points per array element.
  65. ; Create polygons.
  66. points=3
  67. For n=0 To #pts
  68.  Locate 2,2:Print #pts-n,"  "
  69.  If n=0
  70.   ; Create first polygon.
  71.   For m=1 To points
  72.    x=Int(Rnd(#wid))
  73.    y=Int(Rnd(#ht))
  74.    p$(n)+Mki$(x)+Mki$(y)
  75.   Next
  76.  Else<  ; Use previous polygon string as the basis of the new one.;  ; Each previous point will be moved randomly a little bit;  ; and the number of points may be increased or decreased,=  ; with a bias in favour of increasing the number of points.
  77.   x=Int(Rnd(#wid))
  78.   y=Int(Rnd(#ht)),  p$=Left$(p$(n-1)+Mki$(x)+Mki$(y),points*4)
  79.   For m=1 To points*4 Step 4$   x=Cvi(Mid$(p$,m))+Int(Rnd(64))-32
  80.    If x<0 Then x=0
  81.    If x>=#wid Then x=#wid-1&   y=Cvi(Mid$(p$,m+2))+Int(Rnd(40))-20
  82.    If y<0 Then y=0
  83.    If y>=#ht Then y=#ht-1
  84.    p$(n)+Mki$(x)+Mki$(y)
  85.   Next
  86.  EndIf
  87.  p(n)=points
  88.  If points=3
  89.   points+1
  90.  Else<  ; The maximum number of points is 200.  If you want to use;  ; Polyf for filled polygons, (see below), then reduce the9  ; 200 to 8 or less else you'll most likely get a crash.<  ; This is because the routine doesn't create true polygons:  ; but ones where the edges cross over each other.  Sorry=  ; about this, but I've not enough time to think up a better
  91.   ; routine.
  92.   If points=200
  93.    points-1
  94.   Else
  95.    points+(Int(Rnd(3)))-1
  96.   EndIf
  97.  EndIf
  98. ; Animate polygons.
  99. For n=0 To #pts
  100.  Use BitMap bm:Cls
  101.  Poly p(n),&p$(n),1" ShowBitMap bm:VWait:bm=(bm EOR 1)
  102.     MouseWait
  103. End)                                   ------
  104. 6                                
  105. [35mOne last Tip
  106. LAnyone  sick  of  their  Blitz  menus  being the wrong colour on Workbench 3Lmachines?  Well try adding $200000 to your windows' flags. Yes folks, that'sLall  that's  required  to  give WB3 colours to your menus. In fact everybodyLshould  use  it  as  it has no effect on the earlier Workbenches. (Actually,Lthat's  not  quite  true as it needs to be used with Red When Excited's WB2+Lmenus,  which  give  not  only  the correct colours but also support for theLsystem fonts and so on. See the review of Blitz Support Suit in this issue.)
  107. )                                   ------
  108. @                     
  109. [35mBlitz Support and Where To Get It
  110. LBlitz  support,  from  those  who  gave  us Blitz, leaves a little bit to beLdesired. So for any of you who are pulling your hair out trying to get BlitzLto  do  something  you  know  it should be able to do, but won't do for you,Lhere's  a  list of software which may be of help to you. If you can't sourceLit yourself, except for the commercial products I can supply you with any ofJthis. Just send me some interesting Blitz related stuff on disk in return.
  111. )                                   ------
  112. 4                       "Blitz on the Internet/Comms"
  113. LThose  with  comms/Internet  access  can  no  doubt  find  Blitz  support byLthemselves.  However,  us  lesser  mortals  just have to hope some kind soulLpasses  some  of  the info on to us. (Thanks Andy K. :) Anyway, I've about aLlha-crunched  megabyte  of  such  stuff derived (according to AmiQWK, a WB2+Lfile  reader  for such stuff), from "Blitz Basic Support" and "Alt Sys AmigaLBlitz".  To  find what you need to know from such a mass of text is a prettyLhopeless  task  using AmiQWK, (it having no search option), so it's mainly aLcase  of  reading  through  a  lot  of junk when you first receive these and0saving the odd pearls of wisdom you come across.
  114. )                                   ------
  115. /                             "Blitz Guide v1.3"-                              By Jurgen ValksE       (Freeware:  An AmigaGuide Document.  Released 16th Oct. 1994.)
  116. 3                        E-Mail:    j.valks@hsbos.nl
  117. D        Realmail:  Jurgen Valks, Kerkeind 8a, 5293 AB  Gemonde (NB),.                              THE NETHERLANDS.
  118. LThis  AmigaGuide  document  contains  a  well-ordered  guide to a lot of theLcommands added to Blitz by Acid and others after its initial release, thoughLthe  version  I  have  doesn't  contain  any info on commands after BUM7 wasLreleased.  You can get at the individual commands through a library list, anLalphabetical  list  or  via the commands added with each BUM up to number 7.LMissing  I  think is the ability to find them by category, (bitmap commands,Lpacking commands, etc.), but otherwise it's a useful resource. And big too -
  119. the file's over 400k in size.
  120. )                                   ------
  121. .                              "Guide To Blitz"-                               By Neil WrightF     (From F1 Licenceware - UK
  122. 4.99.  Two disks.  Released Mar. 1996.)
  123. I  Realmail:  Neil Wright, (Blitz User Group UK), 39 Riding Dene, Mickley,7                     Northumberland, NE43 7DL, ENGLAND.
  124. LThis two disk package consist of one disk of AmigaGuide documents containingLdetailed descriptions of most of the Acid commands, while the other containsLexamples,  (over  400  of  them  and all in Blitz code), of how to use thoseLcommands.  There's  also  an  introduction  to  coding  in  Blitz plus a fewLprograms for you to examine. Very useful to Blitz users with only the later,Lexample-less,  smaller  manual  and  probably  of quite a bit of use to mostLBlitz  users  in  general.  Reviewed  fully  in ShareWorld #7. (The previous
  125. issue.)
  126. )                                   ------
  127. 0                           "Blitz Support Suite"0                            By Red When Excited.A          (A Commercial product - price unknown.  On four disks.)
  128. 9                  Email:     redwhen@ldngedge.demon.co.uk
  129. >              Webpage:   http://www.aber.ac.uk/~ngh94/rwe.html
  130. H   Realmail:  Red When Excited Ltd, 2 Slimmons Drive, St. Albans, Herts,.                             AL4 9AS, ENGLAND.
  131. LThis contains a lot of previous commands already released on the BUMs by RedLWhen  Excited,  plus  some  new  ones, AmigaGuide docs to them, some supportLprograms  and their latest version of SuperTed and the Red Debugger. See theLfull  review  of Blitz Support Suite in the Reviews section of this issue of
  132. )                                   ------
  133. ,                               "HelpApp 1.1".                             By Rupert Henson.B          (E-Mail ware:  WB2+ required.  Released 27th Feb. 1995.)
  134. 4                        Email:     rjh@cs.nott.ac.uk
  135. LRealmail:  Mr Rupert Henson, "Regency House", 14 Crown Road, Great Yarmouth,7                     Norfolk, NR30 2JN, UNITED KINGDOM.
  136. L   This is a program written in Blitz which gives info on the flags and tagsLused  by  screens, windows, gadgets, GadTools, ASL requesters and slices. ItLalso  works  both  ways,  meaning  if you enter a value it'll show you whichLflags  are  being  used.  In  the  case of tags, a window on each one can beLopened  which  gives  a bit of info on them. One other useful feature is itsLinsert  hotkey.  After selecting a flag or tag using HelpApp, you can returnLto your Blitz editor and enter the value directly into your program by using
  137. HelpApp's insertion hotkey.L   As HelpApp covers more than is in the Acid manuals it's of obvious use toLall  Blitz  users. For instance, this is where I first found out how to turn on the WB3+ menu colours. Beware#though that there's a few errors in this version of the program. For$example, the hi-res flag for screens#is given as $80000, not $8000 as it
  138. should be.$   Oh yes, and HelpApp adds its name$to the Workbench's `Tools' menu when
  139. put to sleep. How's he do that?"                                  
  140.                ------
  141. 7                     "The BlitzOp Guide v1.0 - 47 tips"-                              By Paul Bowlay.@            (Freeware:  An AmigaGuide Document.  Released 1997.)
  142. 2                         Email:     cat@aic.net.au
  143. 2                         Realmail:  Not telling...
  144. L   This  AmigaGuide  document  offers  47  tips (plus a few more generalisedLones) on how to optimise your Blitz code. Optimise in this case means how toLmake  your Blitz executables smaller, and that's all it means as speed isn'tLconsidered.  That  said, a lot of the tips here would probably speed up your(code a bit too, which is an added bonus.L   Ideas  for optimising are along the lines of using the windows' flags forLactivating  them  instead  of using the Activate command, and with replacingLthe  Acid  commands with library calls. Also, he suggests replacing commandsLwith  machine  code  quite  a bit, which is all very well if you're familiar+with it, but a bit worrisome if you're not.L   With  this  I  noticed  one  mild  oversight  regarding the use of the IfLcommand.  The  suggestion is to replace "If a=1 Then..." with "If a Then..."Lon  the grounds that the condition will return true if it's a "1" but not ifLit's  a  "0".  In  actual fact true will be returned as long as any non-zeroLvalue  is used, so you can use this test for any number and not just for "1"
  145. as is implied in the text.L   On  reading  BlitzOp Guide I had the obvious thought that a program couldLbe  written  that  would take a Blitz listing and automatically optimise it.LAnybody  willing to have a shot at it? Or is this another thing I'll have to
  146. do myself...
  147. )                                   ------
  148. 5                                 
  149. [35mFinally...
  150. LAnd  that's  about  it  for this issue. However, for those interested in theLfuture  of Blitz, I received the following note from Simon Armstrong of Acid!Software when I received BUM10...
  151.     "Hi Carl,
  152. LFeel  free  to  pass  copies  on to anyone who wants them. Sad to say, we'veFcrossed the big divide and struggling for our lives on the other side.
  153. Ciao,
  154. Simon."
  155. LAs  BUM10  includes a full working copy of v1.1 of Blitz, I guess this meansLthe  language,  if  not  the paper manuals, is now freeware. (I've also beenLtold  it  appeared  on  a  coverdisk  a while back, which means it was goingLpretty  cheap  then, if not totally free.) I guess the above also means thatLMark  Sibly  and  Simon Armstrong are now PC persons, which is a bit sad butLunderstandable  in  today's  Amiga  market.  However, if the Amiga does makeLanything of a comeback and they bomb out in the PC world, who knows, perhaps/they'll come back - and finally finish Blitz...
  156. Ciao,
  157. Carl.
  158. )                                   ~~~~~~
  159. By Carl Read: Page 1 of 1
  160. SW8a:SW8a/I.General
  161. SW8a:SW8a/I.Columns
  162. SW8a:SW8a/I.ShareWorld
  163. SW8a:SW8a/I.Reviews
  164. SW8b:SW8b/I.OtherWorlds
  165. SW8b:SW8b/I.Adverts
  166. SW8b:SW8b/I.Gallery
  167. SW8a:SW8a/Help
  168.